package com.lcc.lynx.base.system.pojo;

import lombok.Data;
import com.lcc.lynx.jdbc.pojo.TablePojo;
import com.lcc.lynx.jdbc.annotation.Table;
import com.lcc.lynx.jdbc.annotation.TableId;
import com.lcc.lynx.jdbc.annotation.FieldLabel;
import java.util.Date;
import com.lcc.lynx.jdbc.annotation.InsertRequired;
import java.util.List;

/** 
 * 日志管理实体
 * @auth lcc
 * @date 2025-07-28
 */
@Data
@Table("sys_api_log")
public class SysApiLog extends TablePojo {

	/** 日志id */
	@TableId
	@FieldLabel("日志id")
	private Long logId;

	/** 日志code */
	@FieldLabel("日志code")
	private String logCode;

	/** 日志类型 */
	@FieldLabel("日志类型")
	private Short logType;

	/** 接口路径 */
	@FieldLabel("接口路径")
	private String url;

	/** 系统编码 */
	@FieldLabel("系统编码")
	private String systemCode;

	/** 开始时间 */
	@FieldLabel("开始时间")
	private Date startTime;

	/** 结束时间 */
	@FieldLabel("结束时间")
	private Date endTime;

	/** 状态 */
	@FieldLabel("状态")
	private Short sendState;

	/** 已发次数 */
	@FieldLabel("已发次数")
	private Short sendCnt;

	/** 创建时间 */
	@FieldLabel("创建时间")
	private Date createTime;

	/** 更新时间 */
	@FieldLabel("更新时间")
	private Date updateTime;

	/** 备注 */
	@FieldLabel("备注")
	private String remark;

	/** 日期分区 */
	@InsertRequired
	@FieldLabel("日期分区")
	private String datePartition;

	/** 用户 */
	@FieldLabel("用户")
	private Long userId;

	/** 请求方式 */
	@FieldLabel("请求方式")
	private String method;

	/** 请求类型 */
	@FieldLabel("请求类型")
	private String contentType;

	public void setLogIdInList(List<Long> logIdList){ put("logIdInList", logIdList); }
	public void setLogCodeLike(String logCodeLike){ put("logCodeLike", logCodeLike); }
	public void setLogCodeLikeL(String logCodeLikeL){ put("logCodeLikeL", logCodeLikeL); }
	public void setLogTypeInList(List<Short> logTypeList){ put("logTypeInList", logTypeList); }
	public void setUrlLike(String urlLike){ put("urlLike", urlLike); }
	public void setUrlLikeL(String urlLikeL){ put("urlLikeL", urlLikeL); }
	public void setSendStateInList(List<Short> sendStateList){ put("sendStateInList", sendStateList); }
	public void setCreateTimeStart(String createTimeStart){ put("createTimeStart", createTimeStart); }
	public void setCreateTimeEnd(String createTimeEnd){ put("createTimeEnd", createTimeEnd); }
	public void setUpdateTimeStart(String updateTimeStart){ put("updateTimeStart", updateTimeStart); }
	public void setUpdateTimeEnd(String updateTimeEnd){ put("updateTimeEnd", updateTimeEnd); }
}